home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / var / lib / dpkg / info / ghostscript.postinst < prev    next >
Encoding:
Text File  |  2009-04-17  |  3.3 KB  |  95 lines

  1. #! /bin/sh
  2. # postinst script for ghostscript
  3. #
  4. # see: dh_installdeb(1)
  5.  
  6. set -e
  7.  
  8. # summary of how this script can be called:
  9. #        * <postinst> `configure' <most-recently-configured-version>
  10. #        * <old-postinst> `abort-upgrade' <new version>
  11. #        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
  12. #          <new-version>
  13. #        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
  14. #          <failed-install-package> <version> `removing'
  15. #          <conflicting-package> <version>
  16. # for details, see http://www.debian.org/doc/debian-policy/ or
  17. # the debian-policy package
  18. #
  19.  
  20. case "$1" in
  21.     configure)
  22.     # /usr/bin/ps2pdf is now controlled by update-alternatives
  23.     update-alternatives --install /usr/bin/ps2pdf \
  24.       ps2pdf /usr/bin/ps2pdf14 50
  25.     update-alternatives --install /usr/bin/ps2pdf \
  26.       ps2pdf /usr/bin/ps2pdf12 30
  27.     update-alternatives --install /usr/bin/ps2pdf \
  28.       ps2pdf /usr/bin/ps2pdf13 40
  29.  
  30.     # Make sure the substitution file for Ghostscript exists
  31.     if ! defoma-subst check-rule ghostscript; then
  32.       defoma-subst new-rule ghostscript
  33.     fi
  34.  
  35.     defoma-app -t update gs
  36.  
  37.         # Do the following only if CUPS is running and the needed CUPS tools
  38.         # are available
  39.     if which lpstat > /dev/null 2>&1 && \
  40.         which lpinfo > /dev/null 2>&1 && \
  41.         which lpadmin > /dev/null 2>&1 && \
  42.         lpstat -r > /dev/null 2>&1; then
  43.         # Update the PPD files of all already installed print queues
  44.         driverregexp='lsb/usr/ghostscript/'
  45.         gennicknameregexp=''
  46.         [ ! -z "$gennicknameregexp" ] && \
  47.         gennicknameregexp="; $gennicknameregexp"
  48.         gennicknameregexp='s/\s*\(recommended\)//'"$gennicknameregexp"
  49.         tempfiles=
  50.         trap 'rm -f $tempfiles; exit 0' 0 1 2 13 15
  51.         tmpfile1=`mktemp -t updateppds.XXXXXX`
  52.         tempfiles="$tempfiles $tmpfile1"
  53.         lpinfo -m | grep -E $driverregexp > $tmpfile1
  54.         cd /etc/cups/ppd
  55.         for ppd in *.ppd; do
  56.         [ -r "$ppd" ] || continue
  57.         queue=${ppd%.ppd}
  58.         lpstat -p "$queue" >/dev/null 2>&1 || continue
  59.         nickname=`grep '\*NickName:' "$ppd" | cut -d '"' -f 2 | perl -p -e 's/\n$//' | perl -p -e "$gennicknameregexp" | perl -p -e 's/(\W)/\\\\$1/g'`
  60.         lang=`grep '\*LanguageVersion:' "$ppd" | cut -d ' ' -f 2 | perl -e 'print lc(<>)' | perl -p -e 's/[\r\n]//gs'`
  61.         ppdfound="0"
  62.         englishppduri=""
  63.         tmpfile2=`mktemp -t updateppds.XXXXXX`
  64.         tempfiles="$tempfiles $tmpfile2"
  65.         cat $tmpfile1 | perl -p -e "$gennicknameregexp" | grep -E '^\S+\s+.*'"$nickname"'$' | cut -d ' ' -f 1 > $tmpfile2
  66.         while read newppduri; do
  67.             [ "$ppdfound" = "0" ] && lpadmin -p "$queue" -m $newppduri 2>/dev/null || continue
  68.             newlang=`grep '\*LanguageVersion:' "$ppd" | cut -d ' ' -f 2 | perl -e 'print lc(<>)' | perl -p -e 's/[\r\n]//gs'`
  69.             [ "$newlang" = "$lang" ] && ppdfound="1"
  70.             [ "$newlang" = "english" ] && englishppduri="$newppduri"
  71.         done < $tmpfile2
  72.         [ "$ppdfound" = "0" ] && [ ! -z "$englishppduri" ] && lpadmin -p "$queue" -m $englishppduri 2>/dev/null && ppdfound="1"
  73.         [ "$ppdfound" = "1" ] && echo PPD for printer $queue updated >&2
  74.         done
  75.     fi
  76.  
  77.     ;;
  78.  
  79.     abort-upgrade|abort-remove|abort-deconfigure)
  80.  
  81.     ;;
  82.  
  83.     *)
  84.         echo "postinst called with unknown argument \`$1'" >&2
  85.         exit 1
  86.     ;;
  87. esac
  88.  
  89. # dh_installdeb will replace this with shell code automatically
  90. # generated by other debhelper scripts.
  91.  
  92.  
  93.  
  94. exit 0
  95.